package com.whfc.ms.api.sys.service;


import com.whfc.entity.dto.OssPathDTO;
import com.whfc.fuum.dto.SysRuleDTO;
import com.whfc.fuum.entity.SysUser;
import com.whfc.fuum.param.SysRuleAdd;
import com.whfc.fuum.param.SysRuleEdit;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author qzexing
 * @version 1.0
 * @date 2020-12-10 19:38
 */
public interface MsSysRuleService {

    /**
     * 查询权限列表
     *
     * @param user
     * @param platform
     * @return
     */
    List<SysRuleDTO> getRuleList(SysUser user, Integer platform);

    /**
     * 查询子孙权限列表
     *
     * @param pid
     * @return
     */
    List<SysRuleDTO> getDescendantList(Integer pid);

    /**
     * 添加权限
     *
     * @param param
     */
    void addRule(SysRuleAdd param);

    /**
     * 修改权限
     *
     * @param param
     */
    void editRule(SysRuleEdit param);

    /**
     * 启用权限
     *
     * @param ruleId
     */
    void enableRule(Integer ruleId);

    /**
     * 禁用权限
     *
     * @param ruleId
     */
    void disableRule(Integer ruleId);

    /**
     * 删除权限
     *
     * @param ruleId
     */
    void delRule(Integer ruleId);

    /**
     * 上传权限图标
     *
     * @param file
     * @return
     */
    OssPathDTO uploadImg(MultipartFile file) throws Exception;

}
